package wkj.yuyanjichu;

import java.util.Arrays;
import java.util.Scanner;

public class notis {
    public static void main(String[] args) {
//        //NO1小转大，强制转
//        char a = 5;
//        //a = a+10;
//        a = (char) (a+10);
//        a +=10;
//        System.out.println(a);
//
//        //NO2字符串连接运算符
//        System.out.println(10+20+""+30);//3030
//        System.out.println(""+10+20+30);//102030
//        System.out.println(10+20+30+"");//60
//        System.out.println(10+20+30);//60
//
//        //NO3三目运算符
//        int b = 6;
//        int max = a>b?a:b;
//        System.out.println(max);//6
//
//        /**
//         * NO4条件分支结构:
//         * 1.if
//         * 2.if...else
//         * 3.if...else if...
//         * 4.switch ...case...break...case...break...default...
//         */
//        System.out.println("请选择功能: 1.存款 2.取款 3.查询余额 4.退卡");
//        Scanner scanner1 = new Scanner(System.in);
//        int command = scanner1.nextInt();
//        switch (command){
//            case 1:
//                System.out.println("存款处理...");
//                break;
//            case 2:
//                System.out.println("取款处理...");
//                break;
//            case 3:
//                System.out.println("查询余额处理...");
//                break;
//            case 4:
//                System.out.println("退卡成功");
//                break;
//            default:
//                System.out.println("输入错误");
//        }
//
        /**
         * NO5循环流结构：
         * 1.while...
         * 2.do...while...
         * 3.for...
         * 4.嵌套循环：
         * 4.1常用于多行多列，外层控制行，内层控制列
         * 4.2执行规则：外层走一次，内层走所有次
         * 4.3break只能跳出当前一层循环
         */

//        //NO6九九乘法表
//        for (int i=1;i<10;i++){
//            for (int j=1;j<=i;j++){
//                System.out.print(j+"*"+i+"="+j*i+"\t");
//            }
//            System.out.println();
//        }

//        //NO7猜数字游戏
//        int num = (int)(Math.random()*100+1);
//        Scanner scanner = new Scanner(System.in);
//        int guess;

//        while (guess!=num){
//            if (guess>num){
//                System.out.println("猜大了");
//            }else {
//                System.out.println("猜小了");
//            }
//            System.out.println("猜吧");
//            guess = scanner.nextInt();
//        }
//        System.out.println("猜对了");

//        do {
//            System.out.println("猜吧");
//            guess = scanner.nextInt();
//            if (guess>num){
//                System.out.println("猜大了");
//            }else if (guess<num){
//                System.out.println("猜小了");
//            }else {
//                System.out.println("猜对了");
//            }
//        }while (guess!=num);

        /**
         * 1.break:在switch语句中跳出循环
         *         在循环语句中跳出循环
         * 2.continue:只能用在循环中，用于调出循环体中剩余语句而进行下一次循环
         * 3.NO8计算0~100之内的两个数之和，答对一题得10分，否则扣10分一共10题，不想答输入-1结束答题
         */
//        int score = 0;
//        for (int i=1;i<=10;i++){
//            Scanner scanner = new Scanner(System.in);
//            int a = (int)(Math.random()*100);
//            int b = (int)(Math.random()*100);
//            int result = a+b;
//            System.out.println(i+")"+a+"+"+b+"=?");
//            int answer = scanner.nextInt();
//
//            if (answer==-1){
//                break;
//            }
//            if (answer==result){
//                System.out.println("√");
//                score += 10;
//            }else {
//                System.out.println("×");
//                score -= 10;
//            }
//        }
//        System.out.println("score:"+score);

        /**
         * NO9数组的定义、数组的初始化、数组的访问、数组的遍历
         * 数组的方法：
         * 1.System.arraycopy() 复制数组
         * 2.Arrays.copyOf() 复制数组/扩容数组
         * 3.Arrays.short() 升序数组
         */
//        int[] arr = new int[2];//int型数组默认值为0
//        double[] arr1 = new double[3];//double型数组默认值为0.0
//        boolean[] arr3 = new boolean[4];//boolean型数组默认值为false
//
//        int[] arr4 = new int[2];
//        int[] arr5 = new int[]{1,2,3};
//        int[] arr6 = {1,3,5};
//        int[] arr7;
//        //arr7 = {1,2,4};//编译错误，此方式只能声明同时初始化
//        arr7 = new int[]{1,2,4};
//
//        System.out.println(arr7.length);//3
//        System.out.println(arr7[arr7.length-1]);//数组7的最后一个元素为4
//
//        int[] arr8 = new int[10];
//        for (int i=0;i<arr8.length;i++){
//            arr8[i]=100;
//            System.out.println(arr8[i]);
//        }
//
//        int[] arr9 = new int[5];
//        for (int i=0;i<arr9.length;i++){
//            arr9[i] = (int)(Math.random()*10);
//            Arrays.sort(arr9);//升序
//            System.out.println(arr9[i]);
//        }
//
//        int[] arr10 = {1,2,3,4,5};
//        int[] arr11 = Arrays.copyOf(arr10,arr10.length+1);//增加数组arr11的长度
//        for (int i=0;i<arr11.length;i++){
//            System.out.println(arr11[i]);//1,2,3,4,5,0
//        }
//
//        System.arraycopy(arr10,1,arr11,2,1);
//        /**
//         * 复制数组arr10到arr11上
//         * arr10:原数组
//         * 1:原数组的起始位置
//         * arr11:目标数组
//         * 2：目标数组的起始位置
//         * 1：复制的数组长度
//         */
//        for (int i=0;i<arr11.length;i++){
//            System.out.println(arr11[i]);//1,2,2,4,5,0
//        }

        /**
         * NO10java中的变量：
         * 1。局部变量：命名在方法，构造方法，方法体中
         * 2。成员变量：
         * 2.1 静态变量：被static修饰，常被public修饰，常被命名为常量
         * 2.2 实例变量：必须要实例对象，有初始值才可以实例实例变量
         * 生命在一个类中但在方法，构造方法，方法体之外
         *
         * java中方法的五要素：
         * 修饰符 返回值类型 方法名（参数列表）{
         * 方法体
         * }
         * 修饰符     同包中 同类中 同类不同  不同包不同类
         * public      √     √     √         √
         * protected   √     √     √         ×
         * default     √     √     ×         ×
         * private     √     ×     ×         ×
         *
         * 方法：函数、过程
         * 1.封装一段特定的业务逻辑功能
         * 2.方法尽可能独立，一个方法只干一件事情
         * 3.方法可以被反复多次调用
         * 4.方法减少代码重复，有利于代码维护
         * 5.方法的调用
         * 5.1无返回值：方法名（有参传参）
         * 5.2有返回值：数据类型 变量 = 方法名（有参传参）
         * 6.return：结束方法的执行，返回结果给调用方
         */


    }
}
